package com.canyou.archives.service;

import com.canyou.archives.model.Archives;
import com.baomidou.mybatisplus.extension.service.IService;
import com.canyou.archives.model.dto.*;
import com.canyou.archives.model.vo.PageVO;

import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;

/**
 * <p>
 * 设备档案 服务类
 * </p>
 *
 * @author canyou
 * @since 2021-12-07
 */
public interface ArchivesService extends IService<Archives> {
    //新增编辑设备
    Boolean saveOrUpdateArchives(@Valid @NotNull(message = "设备分类信息不能为空") ArchivesDTO archivesDTO);
    //条件分页查询
    PageVO getPageList(Integer current, Integer pageSize, ArchivesPageDTO archivesPageDTO);
    //批量启用和禁用设备
    boolean updateDisableenabledevice(@Valid @NotNull(message = "设备分类信息不能为空") ChangeArcvhivesStateDTO dea);
    //批量入账设备
    boolean updateRegistrationDevice(@Valid @NotNull(message = "设备分类信息不能为空") ChangeArcvhivesStateDTO dea);
    //设备领用
    boolean receiveDevice(Long receiverlId,Long deviceId);
    //设备归还
    boolean returnDevice(Long returnId,Long deviceId);
    //设备维修中报备
    boolean maintainDevice(@Valid @NotNull(message = "设备信息不能为空") DeviceMaintenanceDTO deviceMaintenanceDTO);
    //设备详细信息
    ArchivesInformationDTO getDeviceById(Long deviceId);
    //设备基本信息Excel导出
    Boolean exportExcel(HttpServletResponse response);
}
